Error:NgdBuild:604解决方法 您所在的位置:网站首页 microblaze can Error:NgdBuild:604解决方法

Error:NgdBuild:604解决方法

2023-09-26 21:35| 来源: 网络整理| 查看: 265

摘要:在使用ISE对Verilog程序进行编译时,我们偶尔会在translate阶段碰到以下错误:NgdBuild:604 - logical block ‘BLOCK_NAME’ with type ‘XXX’ could not be resolved. A pin name misspelling can cause this, a missing edif or ngc file,or the misspelling of a type name. Symbol ‘XXX’ is not supported in target ‘XXX’. 本文将介绍一种新的解决Error:NgdBuild:604的方法。

Error:NgdBuild:604传统解决方法

遇到问题,代码调不出来,很自然地就会想到输入关键词在搜索引擎或者相关论坛上查找资料。在这里,我们先列举一下网上关于这个bug的相关解决方法。 第一个是Xilinx官方论坛的解决方法[1]: 将上述内容翻译成中文(我懒,直接用谷歌浏览器的自带翻译软件),则为: 在这里插入图片描述 可见,官方指导认为,出现这个问题主要是缺少了某些或者说某个ncd文件(奇怪的是,编译结果提示却是缺少了某个NGC文件。。。),我们可以按照官方的指导,首先点开Implement Design的加号,然后右键点击Translate弹出菜单,选择Process Properties…,如下图所示: 在这里插入图片描述 点击“-sd”所在一行最右方的“…“,然后把ISE工程所在的路径添加上去。按照官方的指导,我们要做的就是这些,而且,理论上我们只要把ISE工程所在的路径添加上去,在编译过程中,系统自然会搜索到所需要的文件。官方指导的解决方法就介绍到这。

其实吧,除了这种解决方法,好像就没了???我搜索到的其他方案全部都在讲述我上面列举的方法的具体操作,比如[2]。

如果上述方案奏效,我就不写这文档了。当然,我只能代表我这个个例,我并不是说这个方案就解决不了其他人遇到的这个问题,特此声明。以下介绍我发现的解决方法。

Error:NgdBuild:604新解决方法

我是这么个情况,我们课题组的代码可以使用ISE自带的XST进行编译,但是呢,XST的编译效果太糟糕了,会给输出带来很多毛刺,于是我师兄建议我在ISE里调用Synplify Pro进行编译。结果发现,同一个程序,在XST下编译成功了,却在Synplify Pro编译下失败了,失败的原因就是在Error:NgdBuild:604。我在重复采取官方指导很多次之后,还是发现妹法解决问题。还好没放弃(想哭就要笑啊),就是在机缘巧合之下,我前几天修改我们课题组的代码,我发现删除了原来代码的某些内容之后,再用Synplify Pro编译,编译居然成功了。

于是,思考这个成功的原因(当然我是拒绝的,问就是懒。。),就在今晚,我逐行代码调试的时候发现,用串口发送参数时(我认为,串口仅仅是一个例子),一般情况下,你在子文件里面定义的输出变量,即便你在子文件里没有对它进行赋值,也或者你在子文件中压根没动过它,系统在编译时也是不会报错的。问题就是,假如这样的一个未经赋值的变量,在子文件中作为输出变量,却在顶层文件设计时调用了该变量,比如在顶层设计中,你把这个变量在顶层文件的输出令为wire型,并且输入给其他模块。**另一种可能(我判断这个可能性更大)则是在串口所属的子文件中,本应该给某个参数(该参数本应该作为串口所在子文件的输出)赋值的,但实际上子文件并没有赋值,甚至子文件没有定义这个参数,顶层文件中这个参数也没有输出,而你又恰好把这个变量输入到顶层文件中的其他模块。**这时,XST依旧是不会报错的,但Synplify Pro就报错了,正是犯了Error:NgdBuild:604。所以,解决的方法就显而易见了。

你要做的,就是仔细检查出现Error:NgdBuild:604这个错误的模块,仔细检查它的每一个输入是否有正确的来源,即是要弄清楚该变量的来源以及去处这个过程是否正确、是否经过了定义、是否经过了赋值。就像我举的例子中,串口所在的子文件压根没有定义这个变量,也没有对它进行赋值,但却在顶层文件中把这个变量输入到其他模块,于是就产生了错误。

在确保该模块的每个输入都有正确的来源之后,我就解决问题了。希望这个方法能够帮助遇到相同问题的你。祝好~

参考资料:

[1]https://china.xilinx.com/support/answers/70283.html [2]https://so.csdn.net/so/search/s.do?q=ERROR%3ANgdBuild%3A604&t=&u=



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有